home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / BARNET / ARMLINUX / MAIL / 9804 / 000138_owner-linux-arm…r.rutgers.edu _Wed Apr 29 18:25:19 1998.msg < prev    next >
Internet Message Format  |  1998-05-13  |  3KB

  1. Return-Path: <owner-linux-arm-outgoing@vger.rutgers.edu>
  2. Received: from orava.funet.fi (orava.funet.fi [128.214.248.46])
  3.     by odie.barnet.ac.uk (8.8.6/8.8.6) with ESMTP id SAA06208
  4.     for <willy@odie.fluff.org>; Wed, 29 Apr 1998 18:25:18 +0100
  5. Received: from vger.rutgers.edu ([128.6.190.2]:24984 "EHLO vger.rutgers.edu" ident: "root") by orava.funet.fi with ESMTP id <391813-6839>; Wed, 29 Apr 1998 20:22:31 +0300
  6. Received: by vger.rutgers.edu id <971482-8838>; Wed, 29 Apr 1998 11:47:29 -0400
  7. Received: from post-12.mail.demon.net ([194.217.242.41]:44556 "HELO post.mail.demon.net" ident: "NO-IDENT-SERVICE") by vger.rutgers.edu with SMTP id <971728-8838>; Wed, 29 Apr 1998 11:18:56 -0400
  8. Received: from (globe) [158.152.30.195] 
  9.     by post.mail.demon.net with smtp (Exim 1.82 #2)
  10.     id 0yUU5a-0001w2-00; Wed, 29 Apr 1998 11:27:46 +0100
  11. Received: from (spring.nexus.co.uk) [192.0.0.3] (root)
  12.     by globe with smtp (Exim 1.82 #1)
  13.     id 0yUTwn-0001jj-00; Wed, 29 Apr 1998 11:18:41 +0100
  14. Received: from localhost (spring.nexus.co.uk) [127.0.0.1] (pb)
  15.     by spring.nexus.co.uk with esmtp (Exim 1.82 #1)
  16.     id 0yUTwm-0001Q6-00; Wed, 29 Apr 1998 11:18:40 +0100
  17. X-Mailer: exmh version 2.0zeta 7/24/97
  18. To: linux-arm@vger.rutgers.edu
  19. Subject: uaccess ramblings
  20. Mime-Version: 1.0
  21. Content-Type: text/plain; charset=us-ascii
  22. Date:     Wed, 29 Apr 1998 11:18:39 +0100
  23. From: Philip Blundell <pb@nexus.co.uk>
  24. Message-Id: <E0yUTwm-0001Q6-00@spring.nexus.co.uk>
  25. X-Orcpt: rfc822;linux-arm@vger.rutgers.edu
  26. Sender: owner-linux-arm@vger.rutgers.edu
  27. Precedence: bulk
  28. X-Loop: majordomo@vger.rutgers.edu
  29. Status: RO
  30.  
  31. Hi,
  32.  
  33. I was thinking about the code we use for user accesses on ARM2/3 machines just 
  34. now (can you tell I'm not having a particularly busy day?)
  35.  
  36. At the moment all the get_user calls translate into a function call to one of 
  37. two addresses depending on whether we are in `kernel' or `user' mode 
  38. (indirected through current->tss).  I was wondering whether we could actually 
  39. press the MEMC hardware into service to avoid the need for this.
  40.  
  41. If we always use LDRT/STRT instructions for get_user() and put_user() then the 
  42. ARM will ask for translation every time.  If I remember right, though I don't 
  43. have a MEMC datasheet here to check, you can set the privilege level that will 
  44. be used for translated accesses by writing to a MEMC register.  All we need to 
  45. do is arrange for set_fs(KERNEL_DS) to set the privilege level to 1, and 
  46. set_fs(USER_DS) to set it to 0, and arrange the page tables such that level 1 
  47. allows access to anything.  This is closer to the ARM6 implementation, and I 
  48. suspect it should be faster.
  49.  
  50. Incidentally, I think the `wp_works_ok' macros in processor.h are probably 
  51. completely redundant and can be removed -- the armv one is also set to the 
  52. wrong value. :-)
  53.  
  54. p.
  55.  
  56.  
  57. unsubscribe: body of `unsubscribe linux-arm' to majordomo@vger.rutgers.edu